<?php
/**
 * @author Tuong Tran <tuong.tran@outlook.com>
 */
interface IObservable{
    /**
     *
     * @param IObserver $objObserverl
     * @param type $eventType
     */
    public function attachObserver(IObserver $objObserver, $eventType);

    /**
     * remove observer to object
     * @param IObserver $objObserver
     * @param type $eventType
     */
    public function detachObserver(IObserver $objObserver, $eventType);

    /**
     * do notify event
     * @param type $eventType
     */
    public function fireEvent($eventType);
}